The invention relates to telecommunication. In particular, the invention relates to a new and advanced method and system of software updating in a network element of a telecommunication network.
A telecommunication network, such as a telephone network typically comprises one or more network elements. A network element is herein used to mean a telecommunications system or a group of systems or a part of a system as well as its peripheral equipment or some other unit in a telecommunication environment that may be managed, monitored or controlled in the network and that has at least one standard interface. A typical example of a network element is a digital telephone exchange. The network element may be divided into two parts: the software and the hardware. Just like any other software configuration, also the software of a network element requires updating every now and then, whether it might be, e.g. for the correction of the programming errors or for the adding of new features. The requirements for the updating process of a network element are, at any rate, remarkably stricter than when updating, e.g. a software of a personal computer.
For example, a modern telephone exchange is a complex entity whose uninterrupted function is a matter of extreme importance for the clients of the operator maintaining it. When updating a piece of software, a new software version is attempted to be tested before its introduction in a most thorough way in order to be able to detect the possible errors before they manage to cause interference to telephone traffic. In addition, the introduction phase of a new piece of software should not cause very much interference to the connections of the network element nor to the function of the network element in general.
Software updates may be divided into two main groups. One group includes so-called minor software updates, characterised in the compatibility of the software with the original software. An example of this is, e.g. a CD update (Change Delivery, CD). The other group includes so-called major software updates, characterised in the incompatibility of the software with the original one. The problems described hereinafter with the solutions presented relate in particular to the major software updates, but the method and system in accordance with the invention may be used also in conjunction with the minor software updates.
Nowadays it is possible to carry out different tests to a new software version before its introduction. Usually the units of the network element are divided into an original side being the ones responsible for the normal traffic of the relevant network element, whereas the units of the testing side are used for the testing of the new software version. An example of the tests that may be carried out are, e.g. alarms. If the alarm system is able to print alarms from the units operating with the new software, so the new software is operational as concerns this part, because specifically the application programs are responsible for the generation of the alarms also in normal activities. In addition, known is a way of giving different commands in the MML language (Man Machine Language, MML), such as printing commands which help to authenticate the data converted from the old software into the new one. Moreover, the download of a new piece of software into a unit is itself a previously known, important test.
An enormous problem associated is, however, that the carrying out of test connections is not possible. One reason for this is that the present network element architectures are not provided with a redundant interface unit that are needed on the testing side in order to establish the test connections. Since the redundant switching field unit to test is not provided with an interface unit connected to it, the switching field unit in question cannot be used for test connections. In other words, the test connections cannot be established because the interface units are not doubled and because both of the units cannot be active at the same time. At any rate, a test connection would be the most comprehensive and efficient way of ensuring the compatibility and effectiveness of a new software packet.
The introduction of a tested software found to be well-operating is nowadays carried out usually with a certain command given in the MML language (Man Machine Language, MML) One known method for the introduction of a new piece of software is as follows: the network elements are logically divided into an original side and testing side. The units of the original side transmit traffic using the original software. In the units of the testing side, a new piece of software is introduced. The units of the testing side begin to transmit traffic using the new software. In case there are no problems occurring, the units of the testing side are finally accepted for use, and the division is eliminated. In other words, the units that belonged to the testing side now carry on transmitting traffic, and the units that belonged to the original side are changed, e.g. into standby units. The introduction is carried out relatively fast, typically in about five minutes. The problem associated, is however, that in conjunction with the introduction of a new piece of software the existing connections of the network element in question are interrupted. The reason for the disconnection of connections is the fact that the interface units are rebooted and transferred from the computer units operating with the old software as well as from the switching field units into the corresponding units operating with the new software. The new units are not heated from the point of view of the connections, and in the units in question the establishing of connections is restarted from the beginning as soon as the units are ready to receive connection requests.
In addition, known is a way of introducing a new piece of software by rebooting the whole system. This method is, however, very slow, taking approximately typically about 10-15 minutes.
The aforementioned problems are therefore to a great extent due to the structural solutions of the present network elements. However, e.g. the ATM technique brings along the network elements of the next generation thus enabling the solving of the present problems. The following section includes a brief description of the features of the ATM technique that in some way or another touch upon the invention.
ATM (Asynchronous Transfer Mode, ATM) is a connection-oriented packet-switched transfer method which is characterised in a data transfer using cells of standard length. The cells consist of a five bit long title and a 48 bit long information part. The title fields comprise a virtual path identifier VPI and virtual channel identifier VCI, a payload type identifier PTI, cell loss priority, CLP and header error control, HEC that makes it possible to correct errors of one bit and detect errors of two bits. In the ATM switch, the cells are transferred from the logical input channel into one or more logical output channels. The logical channel consists of the number of a physical link, such as an optical fibre and the channel identifier on this link, i.e. the VPI/VCI information. One physical medium of transmission, such as an optical fibre may include several virtual paths VP, and each virtual path may include several virtual channels VC.
Since the cells are of standard size, the switching in the ATM switches may be carried out based on the cell header at device level and therefore extremely fast. The cells belonging to different connections are distinguished from each other with the aid of the virtual path and virtual channel identifiers. When establishing the connection, a fixed route is defined through the network, i.e. a virtual connection along which the cells of the connection are route. In the network nodes, the cells are switched based on the VPI/VCI values. The VPI/VCI values of the cells are connection-slot-oriented and therefore tend to change in conjunction with the switching of a VP or VC level. In the end of the transmission the connection is set down.
An ATM protocol is usually described by referring to an ATM protocol model, which is a layer model resembling the OSI model (Open Standards Interconnection, OSI). Uppermost in the model there is the data coming from the user. Below it there is an ATM adaptation layer AAL. Below it there is an ATM layer beneath which there is a physical layer PHY). In addition, the AAL layer is divided into two partsxe2x80x94the SAR layer (Segmentation And Reassembly, SAR) and the CS layer (Convergence Sublayer, CS). Further, the CS layer is divided into two sub layers, which are the SSCS layer (Service Specific Convergence Sublayer, SSCS) and the CPCS layer (Common Part Convergence Sublayer, CPCS).
The ATM adaptation layer slices the frames of the upper layers, places the pieces in the cells and puts the frames together at the other end.
The ATM layer for its part offers the cell transfer service to the AAL layer. It handles solely the cell header being responsible for the cell switching, multiplexing, demultiplexing, the generation and deletion of the cell header as well as generic flow control, GFC) in the user network interface UNI. In addition, the detection and correction of the header errors as well as block synchronization are part of the responsibilities of the ATM layer.
Also the physical layer is divided into two sub layers, the PMD sub layer (Physical Medium Dependent, PMD) which is responsible for the transmission-specific tasks at bit level, and the transmission convergence layer TCS which is responsible for the adaptation of the cells to each transmission protocol as well as cell restriction, error checking of the cell header and balancing the cell rate.
The interface between the integrated circuits and the ATM layer implementing the functions of a physical layer is standardized by the ATM forum with the names UTOPIA, An ATM-PHY Interface Specification, Level 1 and UTOPIA, An ATM-PHY Interface Specification, Level 2, which are hereinafter referred to as UTOPIA Level 1 and UTOPIA Level 2. In practice, a device based on the ATM technique has to be implemented using the ATM micro circuits commercially available that are implementing the interface consistent with the UTOPIA specifications. The interface has become a de facto manufacturing standard which is followed by the component suppliers manufacturing the integrated ATM circuits.
In the UTOPIA interface the data has been defined as 8 or 16 bit long depending on the implemented bit rate (UTOPIA Level 1 and Level 2). In the interface, nothing but the ATM cell data is transferred, and it includes the control, i.e. so-called handshaking signals needed in a two-way transfer. The circuit manufacturers implement their circuits implementing the functions of an ATM layer as hosts, because the UTOPIA specification defines the circuits of an ATM layer as hosts, and because the manufactures are not expected to know in which kind of environment their clients use their circuits. The circuits of a physical layer are correspondingly slaves. The slaves connected to a UTOPIA bus may communicate solely with the host device but not with each other.
The objective of the present invention is to disclose a new kind of method and system that eliminates the above disadvantages or at least significantly alleviates them. One specific objective of the invention is to disclose a method and system that enable the carrying out of test connections when testing a new piece of software of a network element in a telecommunication network. Yet another objective of the invention is to disclose a method and system that enable the introduction of a new piece of software and still maintain the existing connections of the network element.
In the present invention, a piece of software is updated in a network element of a telecommunication network, such as, e.g. a telephone network (e.g. Public Switched Telephone Network, PSTN; Public Land Mobile Network, PLMN; Integrated Services Digital Network, ISDN), or in a network element of a telecommunication network utilizing the IP protocol (Internet Protocol) The network element in question comprises one or more units such as, e.g. computer units which are responsible for the control of functions of the network element; interface units which, e.g. provide the network element with a physical interface to the telecommunication network; multiplexing units which are responsible, e.g. for the multiplexing functions of the network element; and switching field units which are responsible, e.g. for the switching functions of the network element. A unit is herein used to mean a functional configuration, in other words, e.g. the aforementioned units are necessarily not implemented as units being physically separated from each other, instead they may implemented also as an integral configuration. Further, different network elements may comprise different combinations of the aforementioned units. Furthermore, the network element may comprise only one of a certain unit, in which case the unit in question is active, or the network element may comprise several pieces of a certain unit, in which case typically one of the units is active while the rest of them are redundant, i.e. doubled. Typically in a normal state of a network element the active units are responsible for the function of the element in question, and the redundant units are in reserve, in case, e.g. a failure should occur.
The units are logically divided into an original side and testing side. Logical division means division into two sides logically separated from each other, which may be implemented, e.g. in such a way that the units of one side are eliminated from the computer addressing tables of the logical addressing. In other words, the division may be made using an address modification. Furthermore, the division may be implemented by inhibiting the physical connection between some units, i.e. data arriving from a certain unit is not accepted. The consequence of such a division is that no logical level computer addressing is used between the units of the original side and testing side. In other words, a message cannot be sent from the original side to the testing side using a logical address and vice versa, because the units of the sides in question are invisible to each other what concerns logical addresses. Instead of that, the boundary line between the units of the original and the testing side may be crossed using a physical level computer addressing. It is to be noted that the logical division may be made either at network element level, in which case the network element is logically divided into an original side and testing side, or the logical division may be made at unit level, in which case one or more units are divided into an original side and testing side. Thereby the term xe2x80x9cunit of an original sidexe2x80x9d refers both to a whole unit that, according to the logical division made at network element level, is arranged to belong to the original side, and an original side of such a whole unit which unit, according to the division made at unit level, is divided into an original side and testing side. Correspondingly, the term xe2x80x9cunit of a testing sidexe2x80x9d refers both a whole unit that, according to the logical division made at network element level, is arranged to belong to the testing side, and a testing side of such a whole unit which unit, according to the division made at unit level, is divided into an original side and testing side.
If the logical division is made at network element level, then the advantageously active units are transferred to the original side, and the redundant units are transferred to the testing side. The division may, however, be made in some other way, too. It is, for example, possible to transfer to the testing side also non-doubled interface units in case they are not needed on the original side or in case there are redundant interface units on the original side for some other reason. The same applies to the other units as well. Moreover, it is possible to make modifications to the division later on.
The original software is maintained in the units of the original side, and the units in question are used to carry out the traffic transmitting tasks of a network element. In addition, if necessary, the aforementioned units are used to carry out other functions related to normal operation of the aforementioned network element such as, e.g. billing, compiling statistics, adding/deletion of subscribers and/or updating the visitor location register. One or more units of the testing side are loaded with the new software. In a preferred case, the new piece of software is downloaded into all the units including software of the testing side, such as computer units. Further, the new piece of software downloaded into the units of the testing side is tested.
In accordance with the invention, one or more test connections are directed into the units of the testing side loaded with the new piece of software when testing a new piece of software downloaded into the units in question. The test connection may comprise, e.g. speech, data, image and/or network management messages etc. In this way, the aforementioned new piece of software downloaded into the units of the testing side may be tested more comprehensively than in the prior-art solutions.
In an embodiment of the invention, the network element comprises an active interface unit, active and redundant multiplexing unit as well as an active and redundant switching field unit. In conjunction with the aforementioned logical division, the active units in question are arranged to belong to the original side, and the redundant units in question are arranged to belong to the testing side. One or more test connections are generated which test connections then are directed into the units of the testing side loaded with the new piece of software via the aforementioned active interface unit and redundant multiplexing unit.
In an embodiment of the invention, the network element comprises at least one active and at least one redundant interface unit, at least one active and at least one redundant multiplexing unit, as well as at least one active and at least one redundant switching field unit. In conjunction with the aforementioned logical division, the active units in question are arranged to belong to the original side, and the redundant units in question are arranged to belong to the testing side. One or more test connections are generated which test connections then are directed to the units of the testing side loaded with the new software via the redundant interface unit in question.
In an embodiment of the invention, in some unit of the network element, there is a piece of software arranged for generating test connections, and the aforementioned test connections are generated using the software for generating in question. Advantageously the software for generating test connections is arranged in the interface unit that is used to control the test connections.
In an embodiment of the invention, a second network element is connected to the network element. In the aforementioned second network element, a software for generating test connections is arranged, and the aforementioned test connections are generated using the software for generating in question.
In an embodiment of the invention, some unit of the aforementioned network element is provided with test equipment, and the aforementioned test connections are generated using the test equipment in question.
In the present invention, a piece of software is updated in a network element of a telecommunication network, such as, e.g. a telephone network (e.g. Public Switched Telephone Network, PSTN; Public Land Mobile Network, PLMN; Integrated Services Digital Network, ISDN), or in a network element of a telecommunication network utilizing the IP protocol (Internet Protocol). The network element in question comprises one or more units. The units are logically divided into an original side and testing side. The original software is maintained in the units of the original side, and the units in question are used to carry out the traffic transmitting tasks of a network element. In addition, the aforementioned units are used to carry out other functions related to normal operation of the aforementioned network element. One or more units of the testing side are loaded with the new software. In a preferred case, the new piece of software is downloaded into all units including software of the testing side, such as computer units. The new software is introduced. After this, it is found out whether the units loaded with the new software are operating in a desired way. In case the units in question are operating in a desired way, the update is accepted. Upon accepting the update the aforementioned logical division is usually eliminated, and the units loaded with the original software may serve as, e.g. standby units, and the units loaded with the new software take over the responsibility for the tasks of the network element. If the units in question, however, do not operate in a desired way, then the update is rejected. In that case, the aforementioned logical division may be eliminated in such a way that the units loaded with the original software are responsible for the tasks of the network element, just like before the update. One typical reason for the possible reject are the defects detected in the new software such as, e.g. the failure to work of billing.
In accordance with the invention, when introducing a new piece of software the following actions are taken. To begin with, a connection data is generated using the original software. The connection data comprises predetermined information about the existing connections of the network element in question with the help of which the new software may find out how the hardware connected to the network element has been formatted with the original software. The aforementioned information may not be found out, e.g. by examining the registers at device level, because a function of a upper level such as xe2x80x9cconnect the channels A and B with the traffic parameters x, y, zxe2x80x9d may generate several formatting tasks at device level in several different computer units. These formatting tasks depend on each other, and this relation is not be found out by examining the registers at device level. Because of this, the connection data comprises switching information of a upper level with its traffic parameters, in which case the new software version may later read and utilise it. In addition, the connection data comprises low-level information of the fact of how the connection has been switched on at device level in order to be able to re-establish the connection with the new software using the same already existing device-level connection. The connection data comprises information about switched virtual circuits (SVC) which switched virtual circuit means a virtual connection that is dynamically set up according to practical need and set down at the end of the transmission. In addition, the connection data comprises information of the permanent virtual circuits (PVC) which virtual connection means a virtual connection that is non-switched with no signalling. If necessary, the information included in the connection data may be converted in a way required by the new software.
Further in accordance with the invention, when introducing a new piece of software the connection data is arranged in such a way that the units of the testing side have access to it, which is carried out by saving the connection data in a file stored on a hard disk or some other equivalent storage medium or, e.g. on a memory of a computer unit belonging to the testing side. Furthermore in accordance with the invention, when introducing a new piece of software the new piece of software is activated in which activating process the aforementioned connection data is made use of in order to maintain the existing connections of the network element.
In an embodiment of the invention, in the activation process of a new piece of software, the new software utilising the connection data is downloaded from the testing side into one or more units of the original side, and in the activation process of the new software, the traffic transmitting tasks of the network element are continued using the original units loaded with the new software utilising the connection data.
In an embodiment of the invention, in the activation process of a new piece of software, the traffic transmitting responsibilities are taken by the units of the testing side loaded with the new software utilising the connection data.
According to one aspect of the present invention, when downloading the software from the testing side into the units of the original side the new software is copied using message communication links. In that case, the copying is carried out from a fast mass memory, such as, e.g. random access memory (RAM), and therefore faster than, e.g. from a hard disk.
According to another aspect of the present invention, a piece of software is updated in a network element of a telecommunication network, such as, e.g. a telephone network (e.g. Public Switched Telephone Network, PSTN; Public Land Mobile Network, PLMN; Integrated Services Digital Network, ISDN), or in a network element of a telecommunication network utilizing the IP protocol (Internet Protocol). The network element in question comprises one or more units. The units are logically divided into an original side and testing side. The original software is maintained in the units of the original side, and said units of the original side are used to carry out current traffic transmitting tasks of said network element. In other words, said units of the original side manage such connections which existed at the moment the logical division was performed. In addition, said units may be used to carry out other functions related to normal operation of said network element. One or more units of the testing side are loaded with a new piece of software. In a preferred case, the new piece of software is loaded into all units of the testing side comprising software, such as computer units. The new software is introduced. After this, it is found out whether the units loaded with the new software are operating in a desired way. In case the units in question are operating in a desired way, the update is accepted. Upon accepting the update the aforementioned logical division is usually eliminated, and the units loaded with the original software may serve as, e.g. standby units, and the units loaded with the new software take over the responsibility for the tasks of the network element. If the units in question, however, do not operate in a desired way, then the update is rejected. In that case, the aforementioned logical division may be eliminated in such a way that the units loaded with the original software are responsible for the tasks of the network element, just like before the update. One typical reason for the possible reject are the defects detected in the new software such as, e.g. the failure to work of billing.
In accordance with the invention, when introducing the new piece of software the following actions are taken. Units are logically divided from the original side into the testing side gradually one at a time as their respective current traffic transmitting tasks are finished. By a traffic transmitting task being finished it is referred both to a case in which a task is concluded (for example, the corresponding connection on-hooks) and to a case in which a task is interrupted (for example, by a third party such as the service provider operating said network element). After said units are logically divided into the testing side, they are loaded with the new software. Forthcoming traffic transmitting tasks of the network element are performed using said units logically divided into the testing side and loaded with the new software. Also, if there are redundant units at the moment of the logical division, they are preferably logically divided into the testing side immediately, thus making it possible for the logically divided network element to accept new connections at once.
In an embodiment of the invention, the aforementioned logical division is made inside the units. In other words, the original and new software version are located physically in the same unit.
In an embodiment of the invention, the network element is implemented using a packet-switched technique, such as the ATM technique.
In an embodiment of the invention, the network element is a digital telephone exchange.
In an embodiment of the invention, the active interface unit is connected to the multiplexing units via the UTOPIA Level 2 interface.
In an embodiment of the invention, each multiplexing unit has got at least one vacant UTOPIA address available for testing.
As compared with prior art the present invention provides the advantage that it makes it possible to carry out test connections when testing a new piece of software in a network element of a telecommunications network, which previously has been impossible. The fact that the carrying out of test connections becomes possible leads on the other hand to a situation where new software may be tested before introduction far more widely and comprehensively than before. This on the other hand reduces error and failure conditions caused by defective testing. Moreover, thanks to the invention, a new piece of software may be introduced into the network element of a telecommunications network and at the same time maintain the existing connections. This on the other hand helps to improve the quality of the services provided by, e.g. a telephone operator to its clients.
In the following section, the invention will be described by way of example with reference to the embodiments illustrated in the attached drawing, in which:
FIG. 1a shows a system of the invention in schematic form;
FIG. 1b shows a system of the invention in schematic form;
FIG. 1c shows a system of the invention in schematic form;
FIG. 2 shows a system of the invention in schematic form;
FIG. 3 shows a system of the invention in schematic form;
FIG. 4 shows a system of the invention in schematic form;
FIG. 5a shows a system of the invention in schematic form;
FIG. 5b shows a system of the invention in schematic form.